Multidimensional Predicates for Prolog

نویسنده

  • Günter Khyo
چکیده

In 2014, Ungar et al. proposed Korz, a new computational model for structuring adaptive (objectoriented) systems [UOK14]. Korz combines implicit parameters and multiple dispatch to structure the behavior of objects in a multidimensional space. Korz is a simple yet expressive model which does not require special programming techniques such as the Visitor or Strategy pattern to accommodate a system for emerging contextual requirements. We show how the ideas of Korz can be integrated in a Prolog system by extending its syntax and semantics with simple meta-programming techniques. We developed a library, called mdp (multidimensional predicates) which can be used to experiment with multidimensional Prolog systems. We highlight its benefits with numerous scenarios such as printing debugging information, memoization, object-oriented programming and adaptive GUIs. In particular, we point out that we can structure and extend Prolog programs with additional concerns in a clear and concise manner. We also demonstrate how Prolog’s unique meta-programming capabilities allow for quick experimentation with syntactical and semantical enhancement of the new, multidimensional model. While there are many open concerns, such as efficiency and comprehensibility in the case of larger systems, we will see that we can use the leverage of mdp and Prolog to explore new horizons in the design of adaptive systems.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Generic Cut Actions for External Prolog Predicates

An interesting feature of current Prolog systems is the ability to define external Prolog predicates that can be written in other languages. However, an important drawback of these interfaces is the fact that they lack some important features necessary to improve both the efficiency and the transparent integration of the Prolog system and the external predicates. Such an example is the cut oper...

متن کامل

Language interoperability and logic programming languages

We discuss P#, our implementation of a tool which allows interoperation between a concurrent superset of the Prolog programming language and C#. This enables Prolog to be used as a native implementation language for Microsoft’s .NET platform. P# compiles a linear logic extension of Prolog to C# source code. We can thus create C# objects from Prolog and use C#’s graphical, networking and other l...

متن کامل

Reasoning on the Web with Open and Closed Predicates

SQL, Prolog, RDF and OWL are among the most prominent and most widely used computational logic languages. However, SQL, Prolog and RDF do not allow the representation of negative information, only OWL does so. RDF does not even include any negation concept. While SQL and Prolog only support reasoning with closed predicates based on negation-as-failure, OWL supports reasoning with open predicate...

متن کامل

The Theoretical Foundations of LPTP (A Logic Program Theorem Prover)

This article contains the theoretical foundations of LPTP, a logic program theorem prover that has been implemented in Prolog by the author. LPTP is an interactive theorem prover in which one can prove correctness properties of pure Prolog programs that contain negation and built-in predicates like is/2 and call/n + 1. The largest example program that has been verified using LPTP is 635 lines l...

متن کامل

ERDF Implementation and Evaluation

SQL, Prolog, RDF and OWL are among the most prominent and most widely used computational logic languages. SQL, Prolog and RDF do not allow to represent negative information, only OWL does so. RDF does even not include any negation concept. While SQL and Prolog only support reasoning with closed predicates based on negation-as-failure, OWL supports reasoning with open predicates based on classic...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:
  • CoRR

دوره abs/1603.06266  شماره 

صفحات  -

تاریخ انتشار 2016